package io;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.Scanner;

/**
 * 简易的记事本工具
 * 程序启动后，要求将用户在控制台输入的每一行字符串都写入到note.txt中
 * 如果用户输入的内容为exit，则退出程序
 * 不需要考虑换行
 */
public class Test3 {
    public static void main(String[] args) throws IOException {
        Scanner sc = new Scanner(System.in);
        // 在当前目录下创建一个文件
        File file = new File("./src/main/java/io/note.txt");

        // 创建一个字符输出流，
        // 正常情况下，文件不存在会自动创建，就不需要new File()对象
        // 如果文件存在，但是没有写第二个参数，则表示覆盖写，如果第二个参数为true，则表示追加写
        FileOutputStream fos = new FileOutputStream(file,true);

        // 使用while循环读取控制台输入的内容
        while(true){
            System.out.println("请输入内容：");
            String input = sc.nextLine();
            if("exit".equalsIgnoreCase(input)){
                break;
            }else{
                // getBytes()方法可以将字符串转换为字节数组
                byte[] bytes = input.getBytes(StandardCharsets.UTF_8);
                // 将其写入文件
                fos.write(bytes);
            }
        }

        fos.close();
    }
}
